package com.bestcem.xm.award.entity.mysql;

import com.bestcem.xm.award.enums.AwardRequestStatusEnum;
import com.bestcem.xm.award.enums.DeliverSourceEnum;
import com.bestcem.xm.award.enums.DeviceTypeEnum;
import com.bestcem.xm.award.enums.SurveyStatusEnum;
import lombok.Data;

import java.util.Date;
import java.util.Map;

/**
 * 用户请求奖励记录表
 *
 * @author jie.yao <jie.yao@idiaoyan.com>
 * @version v1.0
 * @date 2021/9/14 16:33
 */
@Data
public class AwardRequestEntity {

    /**
     * 主键
     */
    protected String requestId;

    /**
     * 奖励id
     */
    private String awardId;

    /**
     * 请求ip
     */
    private String ip;

    /**
     * 奖励检查结果 {@link AwardRequestStatusEnum}
     */
    private Integer status;

    /**
     * 请求设备 {@link DeviceTypeEnum}
     */
    private Integer deviceType;

    /**
     * 投放相关信息
     */
    private Map<String, Object> deliver;

    /**
     * 答卷相关信息
     */
    private Survey survey;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 修改时间
     */
    private Date updateTime;

    @Data
    public static class Survey {

        /**
         * 问卷id
         */
        private String surveyId;

        /**
         * 答卷唯一标识
         */
        private Long seq;

        /**
         * 答卷状态 {@link SurveyStatusEnum}
         */
        private Integer status;

        /**
         * 答卷来源 {@link DeliverSourceEnum}
         */
        private Integer source;

        /**
         * 答题ip
         */
        private String surveyIp;

        /**
         * 发出请求的时间戳
         */
        private Long ts;

        /**
         * 投放id
         */
        private String deliverId;

        /**
         * 答题花费时间
         */
        private Integer costTime;

        /**
         * 签名
         */
        private String sig;
    }
}
